package com.shujia.wyh.day20;

/*
        静态导入：
            语句格式：import static 包名...类名.方法名;
            直接导入到方法级别。
         注意事项：
            1、导入使用的方法必须是静态
            2、导入的时候，最后只需要导入到一个方法名就行
 */
import static java.lang.Math.abs;
import static java.lang.Math.pow;
import static com.shujia.wyh.day20.StaticClass.show;

public class StaticImportDemo1 {
    public static void main(String[] args) {
//        System.out.println(Math.abs(-100));
//        System.out.println(Math.pow(2,3));
//        System.out.println(Math.max(100,200));
        //有没有什么办法，可以不用写类名，就直接写方法调用呢？
//        System.out.println(abs(-200));

        //java提供了一个技术可以实现我们的需求：静态导入
        System.out.println(abs(-300));
        System.out.println(pow(2,4));
        //当静态导入的方法名与本类中的方法名冲突了
        //这时候再直接调用的话，调用的是本类中静态方法
        show();

        //我就想使用其他类中同名的静态方法咋办呢？
        //把前缀相对路径补充完整
        //加前缀的方式，一般情况下不会去用，因为我们可以使用更简单的方式直接通过类名调用
//        com.shujia.wyh.day20.StaticClass.show();
        StaticClass.show();
    }

    public static void show(){
        System.out.println("这是我们在本类StaticImportDemo1中定义的静态show方法");
    }
}
